package Beans;


import java.io.Serializable;
import java.util.ArrayList;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;

import upis.br.BO.produtoBO;
import upis.pf.DTO.ProdutoDTO;


/*
 * Controladora do manter produto
 */

@ManagedBean(name="produtoBean")
@SessionScoped
public class ProdutoBean implements Serializable {
	private ProdutoDTO produto = new ProdutoDTO();
	//private ArrayList<ProdutoDTO> produtos;
	private ProdutoDTO produtoSelec = new ProdutoDTO();
	private produtoBO produtoBO = new produtoBO();
	
	private DataModel<ProdutoDTO> produtos;
	
	public ProdutoBean() {
		listar();
	}
	
	/*public ArrayList<ProdutoDTO> getProdutos() {
		produtos = produtoBO.listar();
		return produtos;
	}*/
	
	public void selecionar() {
		produtoSelec = produtos.getRowData();
		System.out.println(produtoSelec.getNome());
	}
	
	public DataModel<ProdutoDTO> listar() {
		ArrayList<ProdutoDTO> produtosList = produtoBO.listar();
		produtos = new ListDataModel<ProdutoDTO>(produtosList);
		
		return produtos;
	}
	
	public String incluir() {

		produtoBO.incluir(produto);
		
		return "/crud/produto";
	}

	public String excluir() {
		produtoBO.excluir(produtoSelec);
		
		return "/crud/produto";
	}
	
	public String alterar() {
		
		produtoBO.alterar(produtoSelec);
		
		return "";
	}
	
	public void cancelaOp() {
		produtoSelec = new ProdutoDTO();
	}
	
	/*
	 * Gets/Sets
	 */
	public ProdutoDTO getProduto() {
		return produto;
	}


	public void setProduto(ProdutoDTO produto) {
		this.produto = produto;
	}
	

	public void setProdutos(DataModel<ProdutoDTO> produtos) {
		this.produtos = produtos;
	}

	public DataModel<ProdutoDTO> getProdutos() {
		return produtos;
	}

	public ProdutoDTO getProdutoSelec() {
		return produtoSelec;
	}

	public void setProdutoSelec(ProdutoDTO produtoSelec) {
		this.produtoSelec = produtoSelec;
	}
	
}
